#ifndef __NCRYPT_STRING_H__
#define __NCRYPT_STRING_H__

void streverse(const char* src, char* dst);
int strevncmp(const char* s1, const char* s2, int len);

#ifdef WIN32
void wcreverse(const wchar_t* src, wchar_t* dst);
int wcrevncmp(const wchar_t* s1, const wchar_t* s2, int len);
#endif

#if defined(WIN32) && defined(_UNICODE)
#define _tcreverse wcreverse
#define _tcrevncmp wcrevncmp
#else
#define _tcreverse streverse
#define _tcrevncmp strevncmp
#endif

#if defined(__APPLE__) && defined(__MACH__)
char* strndup(const char* src, int len);
#endif

#endif //__NCRYPT_STRING_H__

